#include<bits/stdc++.h>
using namespace std;
int T;
long long n;
long long a[200100],v[200100];
long long dp(long long x,int c){
    v[x]=c;
    if(x==1){
        return max(dp(x+1,1),dp(x+1,2));
    }
    else{
        if(x==n){
            for(long long i=x-1;i>=1;i--){
                if(v[x]==v[i]){
                    if(a[x]==a[i]){
                        return a[i];
                    }
                    break;
                }
            }
            return 0;
        }
        else{
            for(long long i=x-1;i>=1;i--){
                if(v[x]==v[i]){
                    if(a[x]==a[i]){
                        return max(dp(x+1,1)+a[i],dp(x+1,2)+a[i]);
                    }
                    break;
                }
            }
            return max(dp(x+1,1),dp(x+1,2));
        }
    }
}

int main( ){
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    cin>>T;
    for(int t=1;t<=T;t++){
        cin>>n;
        memset(a,0,sizeof(a));
        memset(v,0,sizeof(v));
        for(long long i=1;i<=n;i++){
            cin>>a[i];
        }
        long long ans=max(dp(1,1),dp(1,2));
        cout<<ans<<endl;
    }
    return 0;
}
